<template>
    <div class="box">
        <h2>全局事件总线</h2>
        <Child1></Child1>
        <Child2></Child2>
    </div>
</template>

<script>
// 全局事件总线
// 全局事件总线用于跨组件之间的通信
// 步骤
//  1. 安装总线
//      在创建vue实例的时候安装总线
//          new Vue({
//              beforeCreate() {
//                  Vue.prototype.$bus = this; // 安装总线
//              },
//          }
//  2. 接收参数
//      在接收参数的组件中,找到总线,绑定事件,留下回调,接收参数
//  3. 发送数据
//      在发送数据的组件中,找到总线,触发事件,传递参数
// 隐藏的坑:
//  这里容易问: $on 和 $emit 在哪?  Vue的原型对象上
//  引出的问题, vc(组件实例)和vm(vue实例)的关系?
//      VueComponent 是组件的构造函数           Vue是构造函数
//      VueComponent.prototype = Object.create(Vue.prototype)
// 
//      vc是组件实例                vm是vue实例
//      vc.__proto__.__proto__ === vm.__proto__
import Child1 from './Child1.vue'
import Child2 from './Child2.vue'
export default {
    name: "EventBusTest",
    components: { Child1, Child2 }
}
</script>

<style scoped>

</style>